﻿using Paas.App.Interface.Documents.Dtos;
using Basefr.App.Messages;
using System.IO;

namespace Paas.App.Interface.Documents.Messages
{
    public class SearchDocumentViewInput : QueryPagedInput
    {
        public int ParentId { get; set; }
    }
    public class SearchDocumentViewOutput : QueryPagedOutput<DocumentViewDto> { }


    public class SearchDocumentByFolderInput : QueryInput
    {
        public int FolderId { get; set; }
    }
    public class SearchDocumentByFolderOutput : QueryOutput<DocumentDto> { }


    public class UploadDocumentInput : SaveInput<DocumentDto>
    {
        public byte[] FileContent { get; set; }
    }
    public class UploadDocumentOutput : SaveOutput<DocumentDto> { }


    public class DownloadDocumentInput : QueryInput
    {
        public string Code { get; set; }
    }
    public class DownloadDocumentOutput : QuerySingleOutput<DocumentDto>
    {
        public FileStream DocumentStream { get; set; }
    }


    public class DeleteDocumentInput : DeleteInput { }
    public class DeleteDocumentOutput : DeleteOutput { }



    public class SearchDocumentFolderInput : QueryInput { }
    public class SearchDocumentFolderOutput : QueryOutput<DocumentFolderDto> { }



    public class SaveDocumentFolderInput : SaveInput<DocumentFolderDto> { }
    public class SaveDocumentFolderOutput : SaveOutput<DocumentFolderDto> { }


    public class DeleteDocumentFolderInput : DeleteInput { }
    public class DeleteDocumentFolderOutput : DeleteOutput { }
}

